草庐IT

php - 优化 php 中许多循环的建议?

全部标签

javascript - 将事件绑定(bind)到多个元素而不循环(vanilla JS)

我正在努力实现相当于:$('div').on('click',function(){//Dosomething});但没有jQuery。我最初的想法是使用for循环来遍历集合中的所有元素,但我猜测有一种不使用循环(某种native方法?)实现这一点的更好方法。varelems=document.getElementsByTagName('div');functionsomeEvent(){//Genericfunctiontotestagainstalert('eventfired');}for(vari=0,j=elems.length;i有没有不包含库的更优雅的方法?

javascript - 处理javascript中的循环,只有最后一项受到影响?

这个问题在这里已经有了答案:JavaScriptclosureinsideloops–simplepracticalexample(44个答案)关闭8年前。我正在使用处理图像处理的gmnpm模块。我有这段代码。for(i=0;i此循环旨在遍历图像数组并裁剪每张照片,但它只裁剪最后一张。我认为它可以执行函数调用和回调,但还没有达到那个级别。

javascript - 使用空主体 for-in 循环将对象属性复制到数组

`我正在阅读“JavaScript:权威指南”,我被一个例子迷住了:“您可以使用如下代码将所有对象属性的名称复制到一个数组中”varo={x:1,y:2,z:3};vara=[],i=0;for(a[i++]ino)/*empty*/;我不明白,为什么最后一行在没有说明的情况下真的做了任何事情。为什么会填满数组? 最佳答案 这是有效的,因为for循环将o中的值分配给in左侧的变量。通常这是用于某些函数的新变量。例如for(varaino){/*用*做一些事情在这种情况下,它将它分配给a[i++]其中i++每次增加1还值得指出;inf

Javascript while 循环返回值

我有一个关于Javascript中while循环的简单问题。当我在浏览器控制台中运行这个简单的循环时:varcount=0;while(count控制台日志的输出是0,1,2...9。(正如预期的那样)。然而,还有一个数字返回到控制台:这个返回值从何而来?我假设这是count++expression的返回值。但为什么不是每个循环都返回值?是否有可能以某种方式将返回值捕获到变量中? 最佳答案 Read-eval-print-loops(REPLs)类似于浏览器控制台,显示代码生成的最后结果。有点令人惊讶的是,JavaScriptwhi

javascript - 需要优化功能

我正在研究这个函数,它必须返回添加a和bn次的所有可能值,例如如果n=1那么可能的值将是a+aa+b和b+b。下面的功能有效,但它太慢了,我想优化它。有什么建议么?非常感谢!functionprocessData(n,a,b){varans=[0];for(vari=0;i 最佳答案 functionprocessData(n,a,b){varans=[];if(a==b){for(vari=0;ib){vartemp=a;a=b;b=temp;}vardiff=b-a;for(vari=0;i好的,这是迄今为止最有效的解决方案。我

javascript - 使用具有高级优化功能的 Closure 编译器时如何在 javascript 中保留全局变量?

我有自己的Javascript库,我想通过使用具有高级优化功能的Google闭包编译器来缩小它。通过查看docs我看到了如何声明在库外使用的函数。但是我找不到一种方法来保存在我的库中声明的全局变量。Closure编译器只是删除它们,因为它认为它们从未被使用过。有人可以帮忙吗?编辑:示例代码:varvariable_1=true;这是在我的库开始时全局定义的,但它从未在库本身中使用过。当它包含在某些页面中时,它会在库外使用。但是Closure编译器不知道,这就是它删除这些声明的原因。 最佳答案 闭包编译器无法移除声明为window["

Javascript 'delete' 在迭代循环中不起作用

我是一名使用JavaScript的C/C++/Java程序员。我正在尝试编写一个函数来删除对象“obj”的所有属性。我已经阅读了“HowtoquicklyclearaJavascriptObject?”上的帖子,看到有两个答案:(1)创建一个新的“obj”(我不想这样做,因为我的代码是一个运行在移动浏览器,我想尽量减少垃圾收集);(2)在循环中迭代对象的属性并删除属性。后一种方法在Chrome12中不起作用。考虑以下代码:varfoo={};foo['baz']='bar';console.log("1.foo.baz="+foo.baz);deletefoo.baz;console.

dom - 建议用于构建小部件的最小 Dom 操作库

对不起查询,原型(prototype),雅虎YUI,道场在考虑小的时候不吸引我。我想要一个模块化的库,代码尽可能小,最多20Kb[uncompressed]是我所期望的。应该提供Dom操作[没有ajax和badass东西]并且可以扩展,对小部件友好。 最佳答案 microJS上有不少小型javascript库.您可能有兴趣看看$DOM(2.6kb)。或者,如果您想要更多的功能,同时仍然很小,您可以查看XUI(10.4kb,或4.2kbgzipped)。 关于dom-建议用于构建小部件的最

javascript - 在 Javascript 中循环遍历对象内部的数组

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:LoopthroughJsonobject{"data":[{"name":"Jen","id":"1"},{"name":"Steve","id":"8"}]}我正在与之交互的服务器以上述方式响应。我正在尝试遍历它entercodeherefor..in语句。这就是我想要做的:for(variteminresponse.data){console.log(item.name);}这行不通。出了什么问题?谢谢阅读评论后,我知道可以使用以下内容:for(variteminresponse.data){conso

javascript - 为什么我的 for 循环不适用于我的 Javascript 属性?

我创建了这个对象及其属性:varobj={};Object.defineProperty(obj,"value",{value:true,writable:false,enumerable:true,configurable:true});varname="John";Object.defineProperty(obj,"name",{get:function(){returnname;},set:function(value){name=value;}});然后我对它们调用一个for循环:for(varpropinobj){console.log(prop);}根据我的教程,应该会产